문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 게임 프로그래머 (문단 편집) == 기타 == 1980년대까지는 [[어셈블리어]]가 필수적이었다.[* 요즘도 대부분의 컴퓨터공학과가 배우기도 한다.] 그러나 PC에서는 1990년대 초, 하드웨어의 발달로 휴대용 게임기에서는 1990년대 말 즈음 퇴출되었다. 그 이후에는 게임 프로그래밍 업계에서 어셈블리어의 지분은 거의 없는 상태다.[* 하우스 엔진이나 개발 언어의 마개조가 필요할 때나 겨우 쓴다.] 단 90년대 말에 퇴출되었다는 것은 메인 프로그램 개발 언어에서 퇴출되었다는 얘기이고, 2001년에 GPU에 제한적인 프로그래머블 셰이더가 나왔을 때부터 한동안 셰이더 코드는 독자적인 어셈블리로 코딩해야 했다.[* 모두 그런 것은 아니고, 예를 들어 [[게임큐브]] 의 GPU 는 TEV 라고 하는 제한적으로 프로그래밍 가능한 유닛이 탑재되어 있었는데 이것을 일종의 원시적인 프로그래머블 셰이더라고 볼 수 있다. 이 TEV 를 제어하기 위해 닌텐도는 TEVSL 이라고 하는 언어를 제공했다. 이는 어셈블리보다는 고수준이었다.] 물론 이는 메인 CPU 로 흔히 쓰이는 x86, ARM, MIPS 등의 어셈블리가 아니라 GPU가 쓰는 별도의 명령에 대한 어셈블리를 말한다. 다행히 2002년 말에 MS가 DirectX 9.0과 함께 발표한 HLSL이 셰이더 프로그래밍의 사실상 표준으로 자리 잡게 되면서 더이상 GPU 제조사별로 일일이 따로 배울 필요가 없게 되었고, C와 비슷한 형태의 하이 레벨 언어라 학습 난이도가 낮아지면서 불편하기 짝이 없는 독자적인 셰이더 어셈블리어는 자연스럽게 사장되었다. 대부분의 게임 프로그래머에게는 어셈블리어가 크게 중요하지 않은 상황이 되었음에도 여전히 성능 상의 이슈 혹은 멀티쓰레드 이슈 등으로 인해 빌드 후 어떠한 어셈블리가 출력되는지 알아야 할 경우도 가끔이지만 있다. 서버 개발의 경우 커널레벨에서의 데드락(Rtl로 시작하는 Windows 커널 API수준에서의 데드락) 발생시에는 우리가 윈도우 소스코드가 없기 때문에... 어셈블리 보고 디버깅해야되는 골때리는 경우도 발생할 수 있다. 물론 이는 예시일 뿐이며 알면 좋다 수준이므로 뉴비 수준에서 심각하게 여길 필요는 없다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기